On Slicing of Programs with Input Statements
نویسنده
چکیده
This paper studies program slicing in the presence of input statements. If unnecessary input statements are sliced away, the remaining input statements are assumed to read the same data as within the entire program. For specifying the relation of one program being a slice of another under this assumption, one needs a formalism for treating “stages of computation”. This paper presents an approach where stages of computation, called run points, are encoded by rational numbers. Run points of the slice and the corresponding run points of the whole program are encoded by equal numbers. We adapt a program analysis used by a classic slicing algorithm to our setting, in order to prove correctness of the slicing algorithm.
منابع مشابه
Extracting Reusable Funtions by Flow Graph-Based Program Slicing
An alternative approach to developing reusable components from scratch is to recover them from existing systems. In this paper, we apply program slicing, a program decomposition method, to the problem of extracting reusable functions from illstructured programs. As with conventional slicing first described by Weiser, a slice is obtained by iteratively solving data flow equations based on a prog...
متن کاملIteration Space Slicing and ItsApplication
Program slicing is an analysis that answers questions such as \Which statements might aaect the computation of variable v at statement s?" or \Which statements depend on the value of v computed in statement s?". The answers computed by program slicing are generally a set of statements. We introduce the idea of iteration spacing slicing: we reene program slicing to ask questions such as \Which i...
متن کاملA GSoC 2013 Proposal Enhancing Giri: Dynamic Slicing in LLVM
Program slice contains all statements in a program that directly or indirectly act the value of a variable occurrence [14], the criteria of which is a pair of statement and variables. We can further narrow the notion of slice, which contains statements that influence the value of a variable occurrence for special program inputs. This is referred as dynamic program slicing [1]. It works on a sin...
متن کاملProgram slicing techniques and its applications
Program understanding is an important aspect in Software Maintenance and Reengineering. Understanding the program is related to execution behaviour and relationship of variable involved in the program. The task of finding all statements in a program that directly or indirectly influence the value for an occurrence of a variable gives the set of statements that can affect the value of a variable...
متن کاملSlicing Programs with Arbitrary Control-flow
Program slicing is a program transformation that is useful in program debugging, program maintenance, and other applications that involve understanding program behavior. Given a program point p and a set of variables V, the goal of slicing is to create a projection of the program (by eliminating some statements), such that the projection and the original program compute the same values for all ...
متن کامل